package cn.zhejianglao.shirotemplate.service.file.service;

import cn.zhejianglao.shirotemplate.common.model.FileVO;
import cn.zhejianglao.shirotemplate.common.model.PagedResult;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

public interface IFileService {

    /**
     * 上传文件
     *
     * @param file 文件
     * @param path 保存文件夹路径，注意开头和结尾都不要加分隔符！
     */
    void upload(MultipartFile file, String path);

    /**
     * 下载文件
     *
     * @param path 文件路径
     * @param response 响应
     */
    void download(String path, String filename, HttpServletResponse response);

    /**
     * 删除文件
     *
     * @param fileName 文件名称
     * @param path 文件路径，注意开头和结尾都不要加分隔符！
     */
    boolean delete(String fileName, String path);

    /**
     * 分页获取文件列表
     *
     * @param size 单页数量
     * @param page 页码
     * @return 分页数据
     */
    PagedResult<FileVO> list(int size, int page);
}
